5.2 Настройка NTP
5.2.1 Введение в функцию
NTP (Network Time Protocol) — Сетевой протокол времени. Поддерживает иерархическую структуру с возможностью резервирования. NTP позволяет синхронизировать часы с точностью до миллисекунд в локальной сети (LAN) и до сотен миллисекунд в глобальной сети (WAN).
Иерархическая структура позволяет пользователю выбирать необходимую точность, выбирая уровень (stratum). Серверы времени, находящиеся выше в дереве (меньший номер stratum), обеспечивают большую точность относительно мирового стандарта времени (UTC).
Узлы в сети могут выполнять следующие роли:
- Серверы времени: предоставляют предполагаемое корректное время другим узлам.
- Клиенты: запрашивают корректное время у серверов.
- Узлы, работающие как клиенты и серверы, получают время от вышестоящего сервера и предоставляют его другим клиентам.
9.2.2 Настройка
Настройка режима клиент/сервер через интерфейс in-band
Перед настройкой NTP клиента убедитесь, что на сервере включена служба NTP.

Рисунок 5-1: NTP
Шаг 1: Вход в режим настройки
Switch#configure terminal
Шаг 2: Вход в режим настройки VLAN и создание VLAN
Switch(config)# vlan database
Switch(config-vlan)# vlan 10
Switch(config-vlan)# exit
Шаг 3: Вход в режим настройки интерфейса и привязка к VLAN
Switch(config)# interface eth-0-26
Switch(config-if)# switch access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
Шаг 4: Создание интерфейса VLAN и настройка IP-адреса
Switch(config)# interface vlan10
Switch(config-if)# ip address 6.6.6.5/24
Switch(config-if)# exit
Шаг 5: Настройка атрибутов NTP клиента
- Включите доверенный ключ;
- Настройте IP-адрес NTP сервера;
- Включите аутентификацию;
- Настройте правила доступа для NTP.
Switch(config)# ntp key 1 serverkey
Switch(config)# ntp server 6.6.6.6 key 1
Switch(config)# ntp authentication enable
Switch(config)# ntp trustedkey 1
Switch(config)# ntp ace 6.6.6.6 none
Шаг 6: Выход из режима настройки
Switch(config)# end
Шаг 7: Проверка
Switch# show ntp
Current NTP configuration:
============================================================
NTP access control list:
6.6.6.6 mask 255.255.255.255 none
Unicast peer:
Unicast server:
6.6.6.6 key 1
Authentication: enabled
Local reference clock:
Disable management interface
Switch# show ntp status
Current NTP status:
============================================================
clock is synchronized
stratum: 7
reference clock: 6.6.6.6
frequency: 17.365 ppm
precision: 2**20
reference time: d14797dd.70b196a2 ( 1:54:37.440 UTC Thu Apr 7 2011)
root delay: 0.787 ms
root dispersion: 23.993 ms
peer dispersion: 57.717 ms
clock offset: -0.231 ms
stability: 6.222 ppm
Switch# show ntp associations
Current NTP associations:
remote refid st when poll reach delay offset disp
============================================================================
*6.6.6.6 127.127.1.0 6 50 128 37 0.778 -0.234 71.945
synchronized, + candidate, # selected, x falsetick, . excess, - outlier
Пример применения:
Настройка NTP-сервера (на примере использования NTPD в системе Linux)
Шаг 1: Отобразить IP-адрес интерфейса eth1
[root@localhost octeon]# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:08:C7:89:4B:AA
inet addr:6.6.6.6 Bcast:6.6.6.255 Mask:255.255.255.0
inet6 addr: fe80::208:c7ff:fe89:4baa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3453 errors:1 dropped:0 overruns:0 frame:1
TX packets:3459 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:368070 (359.4 KiB) TX bytes:318042 (310.5 KiB)
Шаг 2: Проверить доступность сети с помощью Ping
[root@localhost octeon]# ping 6.6.6.5
PING 6.6.6.5 (6.6.6.5) 56(84) bytes of data.
64 bytes from 6.6.6.5: icmp_seq=0 ttl=64 time=0.951 ms
64 bytes from 6.6.6.5: icmp_seq=1 ttl=64 time=0.811 ms
64 bytes from 6.6.6.5: icmp_seq=2 ttl=64 time=0.790 ms
Шаг 3: Настроить файл ntp.conf
[root@localhost octeon]# vi /etc/ntp.conf
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 5
#
# Drift file. Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
#
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
broadcast 6.6.6.255
#
# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote
# systems might be able to reset your clock at will. Note also that
# ntpd is started with a -A flag, disabling authentication, that
# will have to be removed as well.
#
#disable auth
keys /etc/ntp/keys
trustedkey 1
Шаг 4: Настроить файл keys
[root@localhost octeon]# vi /etc/ntp/keys
#
# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote
# systems might be able to reset your clock at will. Note also that
# ntpd is started with a -A flag, disabling authentication, that
# will have to be removed as well.
#
1 M serverkey
Шаг 5: Запустить службу NTPD
[root@localhost octeon]# ntpd